Minutes, IBIS Quality Task Group

21 September 2021

12:00-13:00 EST (09:00-10:00 PST)

ROLL CALL

ANSYS                               Curtis Clark
Intel Technology                    Michael Mirmak
Micron Technology                 * Randy Wolff
Signal Integrity Software:        * Mike LaBonte
Teraspeed Labs:                   * Bob Ross
Zuken USA:                        * Lance Wang

Everyone in attendance marked by *

NOTE: "AR" = Action Required.

-----------------------MINUTES ---------------------------
Mike LaBonte conducted the meeting.

Call for IBIS related patent disclosures:

- None


Call for opens:

- Mike LaBonte said we were requested in a prior Open Forum meeting to discuss the details
  of checking Aggressor_Only status in [Interconnect Model]s..


Review of previous meeting minutes:
Minutes from the September 14, 2021 meeting were reviewed. Randy Wolff moved to accept the
minutes.  Lance Wang seconded. Without objection, the minutes were approved.


ARs:
- AR: Bob Ross to review QA suite results for IBISCHK710
  Note done yet.
- AR: Mike LaBonte to test first IBISCHK710 code drop
  Done.


NEW ITEMS:

New parser bug reports:
Bob Ross reported there were no new bug reports.


IBISCHK710 development:
Bob Ross showed questions from the IBISCHK developer.  One question was about numeric
scaling suffixes. Bob said they should be checked for validity.  Randy Wolff asked if
those were IBIS parameters or IBIS-ISS parameters. Bob said they were IBIS-ISS.  Randy
said they would be found on the .subckt statements then.  Bob said IBIS allowed an "A"
suffix to mean amperes, whereas in SPICE it denoted "atto".

A second question was if the "=" was required for variable references. Bob and Randy
agreed it was.  For example, "y" in a terminal list would not be interpreted as "y=".
Randy said a terminal line could have both "y" and "y=1". The first one would be a
terminal name, and the second a variable assignment.  Bob said variable names that
appeared in assignment expressions did not require a default value.  Mike LaBonte said
that seemed like an implicit variable declaration.  Lance Wang said HSPICE allowed "y=y",
which would explicitly declare the variable without giving a default.  Mike felt it would
have to be an error if "z" in "y=3+z" was not defined anywhere.  We agreed that would have
to be an error.  Mike said it might be possible to override an expression with an instance
value.  Randy said expressions could not be defined on .subckt statements, they had to be
in .param statements.  Lance suggested disallowing expressions in .subckt statements.
Randy said IBIS allowed "variable=value" on .subckt statements, but the syntax for "value"
was not further defined.  Bob said he would send our decisions to the developer.  Mike
said it made sense that equations would be found in .param, inside or outside a subckt.
Randy said IBIS-ISS did allow .param statements outside subckts.  Mike asked if it would
be an error for a subckt call to specify a parameter that was not defined on the .subckt
statement.  Randy said there should be a warning that a passed parameter was not used.

Bob said the IBISCHK710 development contract called for handling expressions in .subckt
statements, but that was a mistake.  He showed a contract page with a syntax example that
had "c='a+b'" on a .subckt statement.  Lance asked if "a" and "b" could be global. Randy
said yes. Lance said we had no way in IBIS-ISS to declare global variables.  Randy said
they always had to be passed in instance calls.  Bob enumerated four places in IBIS where
instance parameters were passed.  Randy said IBIS would not allow "a=a", even if HSPICE
would.

Aggressor_Only:
Mike noted that the developer question about whether a single [Interconnect Model] with
all Aggressor_Only paths should have a warning was discussed in the prior Open Forum
meeting, and Randy Wolff had suggested continuing in this meeting.  Bob said it was
possible to have Aggressor_Only for pins 1 and 2 on one [Interconnect Model], but pins 1,
2, 3, and 4 were part of another connected [Interconnect Model].  He said Arpad Muranyi's
Open Forum comment was correct, but we should allow it because we allowed cascaded paths.

Bob described [Interconnect Model Group]s and [interconnect Model Set]s.  Mike said two
[Interconnect Model]s having paths with the same pin name may or may not be cascaded
together at circuit building time.  Bob suggested models should be checked only at the
[Interconnect Model Group] level.  Mike felt there was no way to know what would be
connected, and we should not check for such.  Randy agreed, adding that [Interconnect
Model]s did not really declare whether coupling was modeled.

Bob said we should allow contradictory pin I/O paths among sets.  He said the models in an
[Interconnect Model Group] would be flattened, and pin names would be used to determine
that.  Mike said a use case for [interconnect Model Set]s was where one had uncoupled
models and another would have coupled models, for the same pins.  He said a tool might
select only one of those at a time.  Randy said there was no assured way to predict the
connections that would appear in a simulation circuit.

Randy noted that the developer question was about whether a single [Interconnect Model]
with all Aggressor_Only paths should have a warning.  We agreed it should.


Tabled topics (no discussion without motion):
  - BIRD181.2
  - IBISCHK security fixes

AR: Bob Ross to reply to IBISCHK developer questions


Randy Wolff moved to adjourn. Lance Wang seconded. Without objection the meeting ended.

Meeting ended: 13:13 ET

Next meeting September 28, 2021
